1. Field of the Invention
The present invention relates to multi-protocol label switching (MPLS) devices used in telecommunication networks, and more specifically to a method and apparatus implemented in such devices for enabling service providers to control service levels in forwarding of multi-labeled packets.
2. Related Art
Multiprotocol label switching (MPLS) is often used to transport data packets such as those already in the form of Internet Protocol (IP). MPLS is described in further detail in RFC 3031 entitled, “MPLS Architecture” available at www.ietf.org. In general, a MPLS device (e.g., label switch router) makes a forwarding decision based only on a first label received first (in network transmission order) associated with a data packet. As a result, data packets may be quickly forwarded without substantial processing and examining overhead, as is well known in the relevant arts.
Multi-labeled packets (also referred to as labeled packets) generally contain a label stack ahead of the corresponding data packet. The label stack in turn contains multiple label entries, with an S-bit of only the last label entry being set to 1 to indicate the end of stack. The S-bit of the remaining label entries is set to 0 indicating the presence of additional label entries.
Each label entry of an multi-labeled packet also contains three EXP bits (at positions 21-23 of each label entry), which are described as being reserved for experimental use in RFC 3032, also available at www.ietf.org. The EXP bits are also known to be used for determining the service levels (e.g., prioritization in forwarding, assignment of multi-labeled packets to higher bandwidth paths in case multiple paths are present) while forwarding multi-labeled packets.
While forwarding IP data packets using MPLS, a provider edge (PE) router of a prior approach copies the three precedence bits in the type of service field (byte 2 of IP header, described in RFC 791) as the EXP bits of all stack entries when an IP packet is first received into an MPLS based network and the label stack is created. The EXP bits in each label entry are then used to determine the service levels while forwarding the IP data packet on a corresponding portion of the MPLS network.
In the drawings, like reference numbers generally indicate identical, functionally similar, and/or structurally similar elements. The drawing in which an element first appears is indicated by the leftmost digit(s) in the corresponding reference number.